package org.example.new_hbps_backend_reconstruction.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.new_hbps_backend_reconstruction.entity.PatientAvatarEntity;

import java.util.List;

/**
 * @author Gao Zihan
 * @date 2025年10月16日
 * @description 患者头像数据访问层
 */
@Mapper
public interface PatientAvatarMapper extends BaseMapper<PatientAvatarEntity> {

    /**
     * 根据患者ID查询当前头像
     * @param patientUid 患者ID
     * @return 当前头像信息
     */
    PatientAvatarEntity selectCurrentAvatarByPatientUid(@Param("patientUid") Long patientUid);

    /**
     * 根据患者ID查询所有头像历史
     * @param patientUid 患者ID
     * @return 头像历史列表
     */
    List<PatientAvatarEntity> selectAvatarHistoryByPatientUid(@Param("patientUid") Long patientUid);

    /**
     * 更新患者的所有头像为非当前状态
     * @param patientUid 患者ID
     * @return 更新记录数
     */
    int updateAllAvatarToNonCurrent(@Param("patientUid") Long patientUid);
}